
`timescale 1ns / 1ps

module pipe_reg(
	clk,
	rst,
	i_data,
	o_data 
);

parameter 									DATA_WIDTH = 16;
parameter [DATA_WIDTH-1:0] 	DATA_RESET = {DATA_WIDTH{1'b0}};

input clk;
input rst;

input [DATA_WIDTH-1:0] i_data;

output [DATA_WIDTH-1:0] o_data;
reg [DATA_WIDTH-1:0] o_data;

always@( posedge clk )
begin
	if( rst == 1'b1 ) begin
		o_data <= DATA_RESET;
	end
	else begin
		o_data <= i_data;
	end
end

endmodule
